package com.hollis公众号.逃逸分析;

public class Demo2 {

	public static void main(String[] args) {
		alloc();
	}

	private static void alloc() {
	   Point point = new Point(1, 2);
	   System.out.println("point.x="+point.x+"; point.y="+point.y);
	}

	//以上代码中，point对象并没有逃逸出alloc方法，并且point对象是可以拆解成标量的。那么，JIT就会不会直接创建Point对象，而是直接使用两个标量int x ，int y来替代Point对象。
	//以上代码，经过标量替换后，就会变成：
	private static void alloc1() {
	   int x = 1;
	   int y = 2;
	   System.out.println("point.x="+x+"; point.y="+y);
	}

	static class Point {
		private int x;
		private int y;
		public Point(int x, int y){
			this.x = x;
			this.y = y;
		}
	}

}
